package com.hsjk.szwj.module.system.convert.poster;

import com.hsjk.szwj.framework.common.pojo.PageResult;
import com.hsjk.szwj.module.system.controller.admin.poster.vo.AdminCreatePosterReqVO;
import com.hsjk.szwj.module.system.controller.admin.poster.vo.AdminPosterDetailRespVO;
import com.hsjk.szwj.module.system.controller.admin.poster.vo.AdminPosterPageRespVO;
import com.hsjk.szwj.module.system.controller.admin.poster.vo.AdminUpdatePosterReqVO;
import com.hsjk.szwj.module.system.controller.app.poster.vo.AppPosterDetailRespVO;
import com.hsjk.szwj.module.system.controller.app.poster.vo.AppPosterPageRespVO;
import com.hsjk.szwj.module.system.dal.dataobject.poster.PosterConfigDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * @author chenjiawei
 * @desc
 * @Date 2023/12/11 15:41
 **/
@Mapper
public interface PosterConvert {
    PosterConvert INSTANCE = Mappers.getMapper(PosterConvert.class);

    PosterConfigDO convertPosterConfigDO(AdminCreatePosterReqVO reqVO);

    AppPosterDetailRespVO convertAppPosterDetailRespVO(PosterConfigDO configDO);

    PosterConfigDO convertPosterConfigDO(AdminUpdatePosterReqVO reqVO);

    AdminPosterDetailRespVO convertAdminPosterDetailRespVO(PosterConfigDO posterConfigDO);

    PageResult<AdminPosterPageRespVO> convertAdminPosterPageResp(PageResult<PosterConfigDO> pageResult);

    PageResult<AppPosterPageRespVO> convertAppPosterPageResp(PageResult<PosterConfigDO> pageResult);
}
